package cn.echoparrot.domain.entity;

import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;


/**
 * 文件基本信息。
 * VO对象，对象一旦构建，属性不再改变。
 * @author Able.Liang
 * @param fileName 文件名称
 * @param fileSize 文件大小
 * @param uploadTime 文件上传时间
 */
public record FileInfo(String fileName,long fileSize,String uploadTime) {

    private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    private static final String exceptionDateTime = "2024-01-01 00:00:00";

    /**
     *
     * @param fileName  文件名称
     * @param attrs 文件属性
     */
    public FileInfo(String fileName, BasicFileAttributes attrs) {
        this(fileName,attrs.size(),sdf.format(attrs.lastModifiedTime().toMillis()));
    }

    public FileInfo(String fileName) {
        this(fileName,0,exceptionDateTime);
    }

}